삼성SDS Brity RPA Designer 사용법


필요 배경

  1. 주 52시간의 근로 시간으로 저부가가치 작업(단순 반복, 정형화 작업 등)의 불필요한 시간을 줄이고, 창조적인 작업 또는 실질적인 업무에 투자할 수 있는 방안이 필요함
  2. 작업을 하다보면 휴먼에러가 많은데 작업의 정확성을 올릴 방법이 필요
  3. 빠른 처리 능력으로 작업의 효율성을 증가 시킬 수 있음

프로젝트 생성 방법

  1. 왼쪽 상단 ‘삼단바’ 클릭
  2. 새로 만들기 - 새 프로젝트 클릭

작업 vs 프로세스

작업

  • 작업은 일련의 하나의 작업을 처리하기 위한 함수 개념이다.

    • 유동적인 컴포넌트의 조합을 위해 느슨한 결합이 중요할 것 같다.
    • 모든 작업을 모아 두지 않고, 최대한 하나의 작업만을 처리 가능하도록 만드는 것이 중요

프로세스

  • 일련의 작업을 모아(위에서 만들어진 작업들의 집합) 하나의 큰 작업을 처리하기 위한 패키지 개념이다.

    • 위에서 언급했듯이 잘 짜여진 작업(강한 응집도과 느스한 결합도)을 만들어 유동적으로 프로세스를 정의할 수 있다.

공유작업

  • 조직원들끼리 공통 업무에 필요한 Task들을 만들어 공유하는 것이다.(라이브러리 개념)

기본 라이브러리

  • 2021-06-30 현재 기준, 약 380여개의 라이브러리가 존재한다고 한다.

변수사용법

  • 화면 하단의 변수 탭 사용

    • 클릭 시 변수 선언이 가능
    • 선언한 변수는 this.변수명 식으로 오른쪽 속성 창에서 사용할 수 있다.

Click

  • Ctrl 키를 누를 시, 클릭 창이 비활성화

    • 클릭을 누르는 매크로로 지정하고 싶을 땐 다시 Ctrl 키 재입력

OpenApp

  • 원하는 애플리케이션을 실행하게 함
  • 반대의 개념으로 CloseApp/CloseAll이 있음

ActivateApp

  • 여러 개의 실행 애플리케이션 중, 변수 지정 등을 통해 원하는 애플리케이션을 선택할 수 있는 개념

    • ex) OpenApp을 이용해 메모장 A, B 두개를 동시에 실행했다면, A와 B 중 원하는 것을 택할 수 있음

MessageBox(System)

  • 작업 중간 알림 또는 종료 등 시스템 메시지를 띄어줌

Text

  • 다양한 종류의 텍스트 작업이 가능
  • 아래는 대표적인 작업 TASK 들

    • TextInput: 대상 UI 객체를 찾은 후 텍스트 입력
    • Done(Enter) 속성을 이용하면 검색 후 엔터 작업까지 완료
    • SetText: 변수에 저장된 값을 통해 해당 UI에 텍스트 입력(붙여넣기 개념)
    • GetText: 대상 UI 객체의 텍스트를 읽어옴
    • InputBox: 박스 형태의 데이터를 입력할 수 있는 창

KeyInput

  • 단축키 개념

    • 예시: 메모장 글꼴 탭을 들어가기 위해 클릭 세번을 거치는 것이 아닌, 단축키를 차례대로 누르는 것과 같이 설정하면 됨 (Alt + O + F임)

WaitAppear

  • True 또는 False 형태로 결과를 리턴
  • 크기가 무거운 소프트웨어나 프로그램 등의 상태를 기다리기 위한 객체

    • 화면내에 특정 Object가 나타날 때까지 FlowChart의 흐름을 대기하도록 하는 경우 사용하는 Activity Card

GetListItems

  • 리스트, 트리 또는 메뉴 등에서 대상 UI 객체와 동일한 경로에 있는 아이템 목록을 가져옴

    • ex) 메모장 - 파일 탭을 눌러보면 5개 이상의 TAB이 존재하게 되는 것을 모두 가져옴
  • 배열 값을 리턴하는 것이기 때문에 반복문을 통해 사용해야 함

FlowControl 라이브러리

  • If/IfThen - 조건 분기

    • and, or 조건도 설정 가능
  • For/Foreach/While - 반복(LOOF) 처리
  • TerminateFlow/TerminateAll - 해당 TASK 또는 전체 프로세스의 중단처리
  • Assign - assign 카드는 변수에 값을 지정할 때 사용합니다. (변수 선언해서 해당 변수에 값 넣어주는 카드)

    • ex) this.var1 이라는 변수에 123 이라는 값을 넣고 싶을 때 assign 카드를 사용할 수 있음
  • Execute Script - FlowChart 내에서 자바스크립트로 구현하여 실행 시 사용

    • let, const, 주석처리 모두 가능
    • 단, executescript 내부에서 선언한 변수는 다른 카드나 외부에서 참조는 할 수 없음
    • 여러 카드에서 사용해야 하는 변수라면 변수 영역에 명시적으로 선언해 놓고 사용하는 것이 바람직합니다

다음 날 수행

  • Branch
  • Loop
  • Data Manipulation
  • Flow Control

Q&A

Q. RPA를 첫 도입한 회사에서 각 사용자들이 직접 하나요, 아니면 담당부서 같은게 있나요?

  • 자동화 과제가 많은 경우는 자동화전담 부서를 두어 중점 관리하기도 합니다.
  • 사별로 다릅니다만, 보통은 초기에는 담당부서를 두고 ROI가 높은 주요 과제를 자동화한 후, 개별 임직원들이 각자 자기의 업무를 자동화할 수 있도록 확산하는 방식으로 발전합니다.

ex) 예를 들어, 1시간을 줄일 수 있는 과제보다 10000시간을 줄일 수 있는 과제를 먼저 전사적으로 선정해 자동화하고 점점 개인별 과제를 돕도록 확산하는 방식

‘ROI == 투자효과”라고 생각하면 됨

Q. 작업을 만들 때 +해서 밑에넣고, 어떨 땐 옆으로 넣는게 좋은건가요? 한번에 처리 할 부분 정해서 +로 넣으면 될까요?

  • 본인의 선호에 따라 다릅니다만 보통은 프로세스를 읽기 쉽도록 카드를 배치합니다. 이 때, 세로로 연결하거나 가로로 나열하거나 성능이나 실행에 차이는 없습니다.

Q. 라이브러리 추가 및 만들기

  • 라이브러리 추가 시 내용 상 작업 연관이 있는 카드를 하나의 그룹 형태로 묶어서 만들어주시면 나중에 가독성이 좋습니다.

Q. 변수 타입 any 아니면 오류 나는데. 무슨 문제인가요?

  • 변수타입을 any가 아닌 구체적인 걸 지정했다면, 그 타입과 완전히 일치하는 값이 들어가야 합니다. 보기에 같아 보여도 내부에서 처리할 때 다르게 취급되는 형태일 수 있어, 타입이 명확하거나 꼭 필요한 경우가 아니라면 any 로 지정하는 것이 편합니다.

Q. 입력타입(숫자/텍스트) 제한만 있으면 좋겟네요.

  • 카드나 속성에 따라 제공여부나 내용이 다릅니다만, 속성 입력값 우측에 네모두개 겹친 버튼 클릭하면 입력값에 제한을 두며 체크하는 기능이 추가 제공되니 참고하세요

Hello, I'm@nickhealthy
개발자를 꿈꾸고, 파이썬과 클라우드에 관심이 많은 비전공자

Github